package com.aiti.ai.dto.ai;

import dev.langchain4j.model.output.structured.Description;
import lombok.Data;

/**
 * 要求输出格式为{\"baseIntroduction\":\"结果1\",
 * \"registerType\":结果2,
 * \"legalPerson\":结果3,
 * \"year\":\"结果4\",
 * \"registerCapital\":\"结果5\",
 * \"contactAddress\":结果7,
 * \"enterpriseTerm\":\"结果8\",
 * \"mainIndustry\":\"结果9\",
 * \"businessNature\":结果10,
 * \"enterpriseType\":\"结果11\",
 * \"annualTurnover\":\"结果12\",
 * \"linkPhone\":\"结果13\",
 * \"fixedPhone\":\"结果14\",
 * \"email\":\"结果15\",
 * \"scale\":\"结果16\",
 * \"manageModel\":\"结果17\",
 * \"isHightech\":\"结果18\",
 * \"top500\":\"结果19\",
 * \"isGazelle\":\"结果20\",
 * \"isUnicorn\":\"结果21\",
 * \"isSpecial\":\"结果22\",
 * \"isGiant\":\"结果23\",
 * \"brand\":\"结果25\",
 * \"mainCustomerGroups\":\"结果26\",
 * \"mainSalesArea\":\"结果27\",
 * \"isExternal\":\"结果28\"}
 */


@Data
public class ExistFieldDto {
    @Description("企业简介查询：** 查询该企业的企业简介，未查询到时生成一个合理结果。")
    private String baseIntroduction;

    @Description("单位类型查询：** 企业单位类型查询：** 根据给出的备选单位类型(国有企业,集体企业,股份合作企业,有限责任公司(自然人投资或控股),有限责任公司 其他有限责任公司,其他有限责任公司,私营有限责任公司(自然人控股或私营性质企业控股),有限责任公司(自然人独资),股份有限公司,股份有限公司(非上市、自然人投资或控股),有限责任公司(自然人投资或控股的法人独资),个人独资企业,个体工商户股份合作制,股份有限公司(非上市),股份有限公司(非上市、国有控股),股份有限公司(非上市、外商投资企业投资),股份有限公司(上市),股份有限公司(上市、外商投资企业投资),股份有限公司(上市、自然人投资或控股),股份有限公司(台港澳与境内合资、未上市),股份有限公司(中外合资、非上市),股份有限公司(中外合资、上市),股份有限公司(中外合资、未上市),集体所有制,集体所有制(股份合作),内地和港、澳、台合资,农民专业合作经济组织,普通合)，直接输出该企业所属机构类型。")
    private String registerType;

    @Description("法人信息查询：** 查询该企业的法人信息，直接给出法人姓名。未查询到时生成一个合理结果")
    private String legalPerson;

    @Description("成立时间查询：** 查询该企业的成立时间，直接给出结果,格式为yyyy。未查询到时生成一个合理结果")
    private String year;

    @Description("注册资本查询：** 查询该企业的注册资本，直接输出数字，单位为万元。未查询到时生成一个合理结果")
    private String registerCapital;

    @Description("企业详细地址查询：** 查询该企业的详细地址。未查询到时生成一个合理结果")
    private String contactAddress;

    @Description("企业经营期限查询：** 查询该企业的企业经营期限。未查询到时生成一个合理结果")
    private String enterpriseTerm;

    @Description("企业所属行业查询：** 查询该企业的所属行业。未查询到时生成一个合理结果")
    private String mainIndustry;

    @Description("企业经营范围查询：** 查询该企业的经营范围。未查询到时生成一个合理结果")
    private String businessNature;

    @Description("企业类型查询：** 结合查询结果和根据给出的选项(规上企业，规下企业)给出该企业的企业类型。未查询到时生成一个合理结果")
    private String enterpriseType;

    @Description("营业总收入查询：** 查询该企业的营业总收入，直接输出数字，单位为万元。")
    private String annualTurnover;

    @Description("企业的联系手机号查询：** 查询该企业的联系手机号。未查询到时生成一个合理结果")
    private String linkPhone;

    @Description("企业的固定电话号码查询：** 查询该企业的固定电话号码。未查询到时生成一个合理结果")
    private String fixedPhone;

    @Description("企业的邮箱查询：** 查询该企业的邮箱。未查询到时生成一个合理结果")
    private String email;

    @Description("企业的公司规模查询：** 根据给出的企业规模(大型,中型,小型,微型,不限)结合查询结果给出该企业的公司规模。未查询到时生成一个合理结果")
    private String scale;

    @Description("经营模式查询：** 根据给出的经营模式(生产厂家,商业服务,招商代理,其他)结合查询结果给出该企业的经营模式。未查询到时生成一个合理结果")
    private String manageModel;

    @Description("查询该企业是否是高新企业：** 查询该企业是否是高新企业，0为否;1为是。")
    private String isHightech;

    @Description("查询该企业是否是500强企业：** 查询该企业是否是500强企业，0为否;1为是。")
    private String top500;

    @Description("查询该企业是否是瞪羚企业：** 查询该企业是否是瞪羚企业，0为否;1为是。")
    private String isGazelle;

    @Description("查询该企业是否是独角兽企业：** 查询该企业是否是独角兽企业，0为否;1为是。")
    private String isUnicorn;

    @Description("查询该企业是否是专精特新企业：** 查询该企业是否是专精特新企业，0为否;1为是。")
    private String isSpecial;

    @Description("查询该企业是否是专精特新小巨人企业：** 查询该企业是否是专精特新小巨人企业，0为否;1为是。")
    private String isGiant;

    @Description("查询该企业主营品牌：** 查询该企业主营品牌，多个之间用逗号分隔开。")
    private String brand;

    @Description("查询该企业主要客户群体：** 查询该企业主要客户群体。未查询到时生成一个合理结果")
    private String mainCustomerGroups;

    @Description("查询该企业主要销售区域：** 查询该企业主要销售区域。未查询到时生成一个合理结果")
    private String mainSalesArea;

    @Description("查询该企业是否提供加工定制：** 查询该企业是否提供加工定制，0为否;1为是。")
    private String isExternal;
}
